// 使用面向对象来封装属于自己的JavaScript库

var $ = function() {
    return new Base();
}

// 创建一个构造器
function Base() {
    //创建一个数组容器(用于保存获取到的节点)
    this.elements = [];
}

// 创建一个原型方法根据id获取到某个节点对象
Base.prototype.getId = function(id) {
    this.elements.push(document.getElementById(id));
    return this;
}

//创建一个原型方法根据标签的名称来获取到节点对象
Base.prototype.getTagName = function(tag) {
    var tags = document.getElementsByTagName(tag);
    // 将获取到的所有的节点保存到elements数组中
    for(var i = 0;i<tags.length;i++) {
        this.elements.push(tags[i]);
    }
    return this;
}

//创建一个原型方法来设置节点的样式
Base.prototype.css = function(attr,value) {
    //遍历elements数组
    for(var i = 0;i<this.elements.length;i++) {
        // 将数组中的每个节点通过style设置样式
        this.elements[i].style[attr] = value;
    }
    return this;
}

//创建一个原型方法来设置节点的点击事件
Base.prototype.click = function(fn) {
    //遍历elements数组
    for(var i = 0;i<this.elements.length;i++) {
        // 将数组中的每个节点添加点击事件
        this.elements[i].onclick = fn;
    }
    return this;
}

// $().getId("box").css("color","red").click(function(){
    
// })



// "abc".concat("def").substring().concat();




